package java_demos.java_basic.math;

import static java.lang.String.valueOf;

public class MathTest {
    public static void main(String[] args){
        System.out.println(Math.sin(Math.PI/2));
        // 弧度转换成角度
        System.out.println(Math.toDegrees(1));

        /*
        * 为什么要使用封装类？
        *
        * 因为java的数据类型有几个是数值类型，和java的面向对象思想相违背，并且ArrayList、HashMap只能存储对象类型数据，不能存储数值型的
        * 在ArrayList使用时，会自动对基本数据类型进行装箱拆箱
        *
        * 泛型参数不能使用基本类型，只能使用对象类型，所以使用包装类可以解决
        *
        * 基本数据类型无法支持null值，使用包装类可以实现对null值的支持
        *
        * */

        /*
        * 常见的Number&Math方法，xxxValue()，compareTo(),equals(),valueOf(),toString(),parseInt(),abs(),ceil(),floor(),rint(),round(),min(),max(),exp(),log(),sqrt(),sin(),cos()
        * tan(),toDegree(),toRadians(),random()
        * */
        testFunction();

    }
    public static void testFunction(){
        Integer param1 = 15;
        Double param2 = 3.14;
        Float param3 = 3.14f;
        System.out.println("xxxValue()："+param1.doubleValue());
        System.out.println("floatValue()："+param1.floatValue());
        System.out.println("shortValue()："+param1.shortValue());
        System.out.println("byteValue()："+param1.byteValue());
        System.out.println("longValue()："+param1.longValue());
        System.out.println("compareTo()："+param1.compareTo(10));
        System.out.println("compareTo()："+param1.compareTo(16));
        System.out.println("equals()："+param1.equals(16));
        System.out.println("equals()："+param1.equals(15));
        System.out.println("toString()："+param1.toString());
        System.out.println("valueOf()："+valueOf(param2));



        /*
        * round()的算法为floor(x+0.5),四舍五入即在原数的基础上加上0.5然后向下取整
        *
        * */






    }
}
